package com.niiwoo.civet.mobile.vo.response.myloan;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

@Getter
@Setter
@ApiModel
public class MyloanGoingResponseVO {
    /**
     * 标的ID
     */
    @ApiModelProperty(value = "标的ID",  required = true)
    private Long projectId;

    /**
     * 标的标题
     */
    @ApiModelProperty(value = "标的标题",  required = true)
    private String projectTitle;

    /**
     * 标的发布时间
     */
    @ApiModelProperty(value = "标的发布时间",  required = true)
    private Date publishTime;

    /**
     * 当前期数
     */
    @ApiModelProperty(value = "当前期数",  required = true)
    private Integer currentPeriod;

    /**
     * 总期数
     */
    @ApiModelProperty(value = "总期数",  required = true)
    private Integer totalPeriod;

    /**
     * 应还款日期
     */
    @ApiModelProperty(value = "应还款日期",  required = true)
    private Date refundDate;

    /**
     * 当期还款计划还款状态1:未还款,2:已还款.用于与days配合使用
     */
    @ApiModelProperty(value = "当期还款计划还款状态1:未还款,2:已还款.用于与days配合使用",  required = true)
    private Byte refundStatus;

    /**
     * 标的还款状态：1正常还款中，2逾期还款中，3严重逾期还款中，4已结清
     */
    @ApiModelProperty(value = "标的还款状态：1正常还款中，2逾期还款中，3严重逾期还款中，4已结清",  required = true)
    private Byte repayStatus;

    /**
     * 标的状态
     * 1审核中、2筹款中、3还款中、4已结清、5流标
     */
    @ApiModelProperty(value = "标的状态\n" +
            "      1审核中、2筹款中、3还款中、4已结清、5流标",  required = true)
    private Byte status;

    /**
     * 标的子状态
     * 100审核中-初始，101审核中-借款退回，102自动审核-通过，103自动审核-人工审核，104人工审核-通过，105审核通过待确认（融360有），200筹款中-初始，201筹款中-放款中,300还款中-正常还款中，301还款中-逾期还款中，302还款中-坏账还款中，400已结清-正常，401已结清-提前结清，402已结清-坏账结清，500流标-自动审核不通过，501流标-人工审核不通过，502流标-借款退回超时未确认，503流标-借款人手动取消，504流标-投资超时，505流标-后台管理人员手工流标）
     */
    @ApiModelProperty(value = "标的子状态\n" +
            "  100审核中-初始, 101审核中-借款退回,102借款反欺诈-通过,103自动审核-通过,104自动审核-人工审核,105,人工审核-通过,106,审核通过-待确认,107,借款退回-运营商数据获取超时,108,借款退回-通讯录回流超时,200,筹款中-投资中,201,筹款中-放款中,300,还款中-正常还款中,301,还款中-逾期还款中,302,还款中-坏账还款中,400,已结清-正常结清,401,已结清-提前结清,402,已结清-坏账结清,403,已结清-逾期结清,500,流标-自动审核不通过,501,流标-人工审核不通过,502,流标-借款退回超时未处理,503,流标-借款人手动取消,504,流标-投资超时,505,流标-管理人员手动取消,506,流标-借款反欺诈不通过,507,管理员批量流标,508,存管上标失败,509,流标-融360超时未确认)"
            ,  required = true)
    private Integer subStatus;

    /**
     * 应还金额
     */
    @ApiModelProperty(value = "应还金额",  required = true)
    private BigDecimal totalAmount;





    /**
     * 银行卡号
     */
    @ApiModelProperty(value = "银行卡号",  required = true)
    private String bankCard;

    /**
     * 离应还款日期剩余天数,正数表示离还款日期还有几天,负数表示逾期几天
     */
    @ApiModelProperty(value = "离应还款日期剩余天数,正数表示离还款日期还有几天,负数表示逾期几天",  required = true)
    private Integer days;
    

    /**
     * 提示文案
     */
    @ApiModelProperty(value = "提示文案",  required = true)
    private String msg;

    /**
     * 利率
     */
    @ApiModelProperty(value = "利率",  required = true)
    private BigDecimal borrowRate;

    /**
     * 期数
     */
    @ApiModelProperty(value = "期数",  required = true)
    private BigDecimal deadline;

    /**
     * 期数单位(1:月，2:天)
     */
    @ApiModelProperty(value = "期数单位(1:月，2:天)",  required = true)
    private Byte deadlineUnit;

    /**
     * 极速借或者信用借,1:极速借, 2:信用借
     */
    @ApiModelProperty(value = "极速借或者信用借1:极速借, 2:信用借",  required = true)
    private Byte borrowType = 1;

    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型(默认1-个人极速借,2-机构极速借(历史),3-你我云贷,4-卡易借," +
            "8-小易贷,9-社保贷,10-信用卡贷,11-机构极速借(新),12-装修借)",  required = true)
    private Byte type;

    /**
     * 标的申请来源（1、APP，2、H5活动，3、H5极速借, 4、融360）
     */
    @ApiModelProperty(value = "标的申请来源（1、APP，2、H5活动，3、H5极速借, 4、融360）",  required = true)
    private Byte fromSource ;

    /**
     * 标的投放渠道(app为默认渠道-你我金融   kaolalicai考拉理财  tuandai团贷)
     */
    @ApiModelProperty(value = "标的投放渠道(app为默认渠道-你我金融   kaolalicai考拉理财  tuandai团贷)",  required = true)
    private String channelCode;

    /**
     * 标的金额
     */
    @ApiModelProperty(value = "标的金额",  required = true)
    private BigDecimal contractAmount;

    /**
     * 已投金额
     */
    @ApiModelProperty(value = "已投金额",  required = true)
    private BigDecimal investedAmount;

    /**
     * 合同查看地址
     */
    @ApiModelProperty(value = "合同查看地址",  required = true)
    private String viewUrl;

    /**
     * H5Url
     */
    @ApiModelProperty(value = "H5Url",  required = true)
    private String h5Url;
    @ApiModelProperty(value = "还款动作状态（1可执行还款，2还款正在执行中）",  required = true)
    private Byte canRefund;
}
